#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

int main()
{
  int n=printf("stdin->fd:%d\n",stdin->_fileno);
  printf("stdin->fd:%d\n",stdin->_fileno);
  printf("stdout->fd:%d\n",stdout->_fileno);
  printf("stderr->fd:%d\n",stderr->_fileno);

  fprintf(stderr,"printf ret:%d\n",n);
 // char buffer[1024];
 // ssize_t s=read(0,buffer,sizeof(buffer));
 // if(s<0) return 1;
 // buffer[s]='\0';
 // printf("echo:%s\n",buffer);
 // const char* mesg="hello linux\n";
 // write(1,mesg,strlen(mesg));
  //指针的地址：4/8
  // printf("sizeof:%d\n",sizeof(mesg));
  // printf("strlen:%d\n",strlen(mesg));
 //write(2,mesg,strlen(mesg)); 
 
// umask(0); file descriptor 文件描述符，fd,int
// int fd=open("log.txt1",O_WRONLY|O_CREAT|O_TRUNC,0666);
// int fd2=open("log.txt2",O_WRONLY|O_CREAT|O_APPEND);
// int fd3=open("log.txt3",O_WRONLY|O_CREAT|O_APPEND);
// int fd4=open("log.txt4",O_WRONLY|O_CREAT|O_APPEND);
// int fd5=open("log.txt5",O_WRONLY|O_CREAT|O_APPEND);
// if(fd2<0)
// {
//   perror("open");
//   return 1;
// }
// 
// printf("%d\n",fd);
// printf("%d\n",fd2);
// printf("%d\n",fd3);
// printf("%d\n",fd4);
// printf("%d\n",fd5);
//  const char*mesg1="hello linux\n";
//  write(fd,mesg1,strlen(mesg1));
//  close(fd);
 return 0;
}


//
//#define ONE   (1<<0) //1
//#define TOW   (1<<1) //2
//#define THREE (1<<2) //4
//#define FOUR  (1<<3) //8
//
//void show(int flag)
//{
//  if(flag&ONE) printf("function1\n");
//  if(flag&TOW) printf("function2\n");
//  if(flag&THREE) printf("function3\n");
//  if(flag&FOUR) printf("function4\n");
//
//}
//
//int main()
//{
//  printf("---------------------\n");
//  show(ONE);
//  printf("---------------------\n");
//  show(TOW);
//  printf("---------------------\n");
//  show(THREE);
//
//  printf("---------------------\n");
//  show(ONE|TOW);
//  printf("---------------------\n");
//  show(ONE|TOW|THREE);
//  printf("---------------------\n");
//  show(ONE|THREE);
//  printf("---------------------\n");
//  show(TOW|THREE);
//  return 0;
//}




//int main()
//{
//  printf("pid:%d\n",getpid());
//  //打开的文件与文件名，默认在当前路径下新建一个文件？
//  FILE*fp=fopen("log.txt","a");
//  if(fp==NULL)
//  {
//    perror("fopen");
//    return 1;
//  }
//  const char* message="abcd";
//  //fwrite(message,strlen(message),1,fp);
// //fprintf(stdout,"%s:%d\n",message,1234);
// fprintf(stderr,"%s:%d\n",message,1234);
//  fclose(fp);
//  return 0;
//}
